﻿<!DOCTYPE HTML>
<html lang="zh">
<head>
<title>界面控件 对象 - 方法 &amp; 属性 | AutoHotkey v2</title>
<meta name="description" content="The 界面控件 对象 provides an interface 遍历 a 界面 control to perform actions, such as moving, or to retrieve or set values, such as its text." />
<meta name="ahk:equiv-v1" content="commands/GuiControl.htm" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="../static/theme.css" rel="stylesheet" type="text/css">
<script src="../static/content.js" type="text/javascript"></script>
<script type="text/javascript">$(function(){0<=window.navigator.userAgent.toLowerCase().indexOf("ucbrowser")&&CaoNiMaDeUc()})</script>
</head>
<body>

<h1>界面控件 对象</h1>
<p>提供用于修改 界面 控件并检索有关控件的信息的接口. <a href="Gui.htm#Add">界面.添加</a>, <a href="Gui.htm#__Item">界面.__Item</a> 和 <a href="../commands/GuiCtrlFromHwnd.htm">界面控件自句柄</a> 返回这种类型的对象.</p>
<p><strong>属性:</strong></p>
<ul>
  <li><a href="#ClassNN">类名</a>: 检索控件的 类名.</li>
  <li><a href="#Enabled">可用</a>: 检索控件当前交互状态, 或启用或禁用(灰色) 控件.</li>
  <li><a href="#Focused">焦点</a>: 检索控件当前焦点状态.</li>
  <li><a href="#Gui">界面</a>: 检索控件的 界面 父控件.</li>
  <li><a href="#Hwnd">句柄</a>: 检索控件的 句柄.</li>
  <li><a href="#Name">名称</a>: 检索或设置控件的显式名称.</li>
  <li><a href="#Text">文本</a>: 检索或设置控件的文本/标题.</li>
  <li><a href="#Type">类型</a>: 检索控件的类型.</li>
  <li><a href="#Value">值</a>: 检索控件的值或设置新内容到一个包含值的控件中.</li>
  <li><a href="#Visible">可见</a>: 检索控件的当前可见状态, 或显示或隐藏它.</li>
</ul>
<p><strong>方法:</strong></p>
<ul>
  <li><a href="#Add">添加</a>: 在列表框, 下拉列表, 组合框或选项卡控件的当前列表中追加指定的项.</li>
  <li><a href="#Choose">选择</a>: 设置 ListBox, DropDownList, ComboBox 或 Tab 控件中的选择为指定值.</li>
  <li><a href="#Delete">删除</a>: 删除 ListBox, DropDownList, ComboBox 或 Tab 控件的指定项或所有项.</li>
  <li><a href="#Focus">Focus</a>: 设置键盘焦点到控件上.</li>
 <li><a href="#GetPos">获取位置</a>: 获取控件的位置和大小.</li>
  <li><a href="#Move">移动</a>: 移动和/或调整控件的大小.</li>
  <li><a href="GuiOnEvent.htm">监听事件</a>: 注册给定<a href="GuiOnEvent.htm#Control_Events">事件</a>触发时要调用的函数或方法.</li>
  <li><a href="GuiOnNotify.htm">监听提示</a>: 注册一个函数或方法, 当通过 <a href="https://msdn.microsoft.com/library/bb775583">WM_NOTIFY</a> 消息接收到控件通知时调用它.</li>
  <li><a href="#Opt">参数</a>: 为控件的外观和行为设置各种选项和样式.</li>
  <li><a href="#Redraw">重绘</a>: 重绘控件所占的 界面 窗口区域.</li>
  <li><a href="#SetFont">设置字体</a>: 设置控件的字体字体, 大小, 样式和/或颜色.</li>
  <li><a href="../commands/GuiControls.htm#DateTimeFormat">SetFormat</a>: 设置 <a href="../commands/GuiControls.htm#DateTime">DateTime</a> 控件的显示格式.</li>
  <li><a href="#UseTab">UseTab</a>: 导致随后添加的控件属于选项卡控件的指定选项卡.</li>
</ul>

<div class="methodShort" id="Type">
<h2>类型</h2>
<p>检索控件的类型.</p>
<pre class="Syntax">类型 := GuiCtrl.类型</pre>
  <p>有关控件类型的完整列表, 请参阅 <a href="../commands/GuiControls.htm">界面 控件类型</a>.</p>
</div>

<div class="methodShort" id="Hwnd">
<h2>句柄</h2>
<p>检索控件的窗口句柄(句柄). </p>
<pre class="Syntax">句柄 := GuiCtrl.句柄</pre>
<p>控件的 句柄, 通常与 <a href="../commands/PostMessage.htm">投递消息</a>, <a href="../commands/SendMessage.htm">发送消息</a> 和 <a href="../commands/DllCall.htm">动态库调用</a> 一起使用.</p>
</div>

<div class="methodShort" id="Name">
<h2>名称</h2>
<p>检索或设置控件的名称.</p>
<pre class="Syntax">RetrievedName := GuiCtrl.名称</pre>
<pre class="Syntax">GuiCtrl.名称 := NewName</pre>
<p>控件的名称可以与 <a href="Gui.htm#__Item">界面.__Item</a> 一起使用, 以检索 界面控件 对象. 对于大多数具有输入功能的控件, 该名称也被 <a href="Gui.htm#Submit">界面.Submit</a>.</p>
</div>

<div class="methodShort" id="ClassNN">
<h2>类名</h2>
<p>检索控件的 类名.</p>
<pre class="Syntax">类名 := GuiCtrl.类名</pre>
</div>

<div class="methodShort" id="Gui">
<h2>界面</h2>
<p>检索控件的父 界面 窗口的 <a href="Gui.htm">界面 对象</a>.</p>
<pre class="Syntax">GuiObj := GuiCtrl.界面</pre>
</div>

<div class="methodShort" id="Opt">
<h2>参数</h2>
<p>添加或删除控件的各种选项和样式.</p>
<pre class="Syntax">GuiCtrl.<span class="func">参数</span>(Options)</pre>
<dl>
  <dt>Options</dt><dd>
    <p>类型: <a href="../Concepts.htm#strings">字符串</a></p>
    <p><a href="../commands/GuiControls.htm">控件专用</a>或<a href="Gui.htm#OtherOptions">通用</a>选项和样式.</p>
  </dd>
</dl>
<p>在下面的例子中, 该控件<a href="Gui.htm#Disabled">被禁用</a>, 并且它的 <a href="Gui.htm#Background">background</a> 恢复为系统默认值:</p>
<pre>MyEdit.参数("+Disabled -Background")</pre>
<p>在下一个例子中, OK 按钮被变成了新的默认按钮:</p>
<pre>OKButton.参数("+Default")</pre>
<p>虽然<a href="../misc/Styles.htm">样式</a>和扩展样式也被识别, 但其中一些样式在控件创建后无法应用或删除. 即使成功应用了某项更改, 控件也可能选择忽略它.</p>
</div>

<div class="methodShort" id="Move">
<h2>移动</h2>
<p>移动和/或调整控件的大小.</p>
<pre class="Syntax">GuiCtrl.<span class="func">移动</span>(<span class="optional">X, Y, Width, Height</span>)</pre>
<dl>
  <dt>X, Y</dt><dd>
    <p>类型: <a href="../Concepts.htm#numbers">整数</a></p>
    <p>新的位置, 相对于 界面 窗口的客户端区域, 即不包括标题栏, 菜单栏, 和边框的区域.</p></dd>
  <dt>Width, Height</dt><dd>
    <p>类型: <a href="../Concepts.htm#numbers">整数</a></p>
    <p>新的尺寸.</p></dd>
</dl>
<p>与 <a href="../commands/ControlMove.htm">移动控件</a> 不同的是, 本方法将 <a href="Gui.htm#DPIScale">DPI 缩放</a>应用于坐标(除非使用了 <code>-DPIScale</code> 选项).</p>

<h3>示例</h3>
<pre>MyEdit.移动(10, 20, 200, 100)
MyEdit.移动(VarX+10, VarY+5, VarW*2, VarH*1.5)</pre>
</div>

<div class="methodShort" id="Focus">
<h2>Focus</h2>
<p>设置键盘焦点到控件上.</p>
<pre class="Syntax">GuiCtrl.<span class="func">Focus</span>()</pre>
<p>注意: 要让设置生效, 窗口一般不能处于最小化或隐藏状态.</p>
</div>

<div class="methodShort" id="Choose">
<h2>选择</h2>
<p>设置 ListBox, DropDownList, ComboBox 或 Tab 控件中的选择为指定值.</p>
<pre class="Syntax">GuiCtrl.<span class="func">选择</span>(值)</pre>
<dl>
  <dt>值</dt><dd>
    <p>类型: <a href="../Concepts.htm#numbers">整数</a>或<a href="../Concepts.htm#strings">字符串</a></p>
    <p>参数为 1 表示第一个条目, 2 表示第二个, 等等.</p>
    <p>如果 <em>值</em> 是一个字符串(甚至是一个数字字符串), 将选择与 <em>值</em> 相匹配的条目. 搜索不区分大小写. 例如, 如果控件中包含 "UNIX Text" 项目, 指定单词 unix(小写) 就可以选择它. 对于一个<a href="../commands/GuiControls.htm#ListBoxMulti">多选 ListBox</a>, 所有匹配的项目都会被选中.</p>
    <p>如果 <em>值</em> 为零或为空, 则当前选择将被移除.</p></dd>
</dl>
<p>要选择或取消选择一个<a href="../commands/GuiControls.htm#ListBoxMulti">多选 ListBox</a> 中的 <u>所有</u> 项目, 请参照此例:</p>
<pre>投递消息 0x185, 1, -1, ListBox  <em>; 选择所有项目. 0x185 是 LB_SETSEL.</em>
投递消息 0x185, 0, -1, ListBox  <em>; 取消选择所有项目.</em>
ListBox.选择(0)  <em>; 取消选择所有项目.</em></pre>
<p>与 <a href="../commands/ControlChooseIndex.htm">选择控件项</a> 不同, 该方法不会触发 <a href="GuiOnEvent.htm#Change">Change</a> 或 <a href="GuiOnEvent.htm#DoubleClick">DoubleClick</a> 事件.</p>
</div>

<div class="methodShort" id="UseTab">
<h2>UseTab</h2>
<p>使随后添加的控件属于 Tab 控件的指定标签.</p>
<pre class="Syntax">GuiCtrl.<span class="func">UseTab</span>(<span class="optional">值, ExactMatch := false</span>)</pre>
<dl>
  <dt>值</dt><dd>
    <p>类型: <a href="../Concepts.htm#numbers">整数</a>或<a href="../Concepts.htm#strings">字符串</a></p>
    <p>参数为 1 表示第一个条目, 2 表示第二个, 等等. 如果 <em>值</em> 不是一个整数, 前面部分与 <em>值</em> 匹配的标签将被使用. 搜索不区分大小写. 例如, 如果一个控件包含 "UNIX Text" 标签, 指定单词 unix(小写) 就可以使用它. 如果 <em>值</em> 为 0, 是一个空白字符串或被省略, 随后的控件将被添加到 Tab 控件之外.</p>
  </dd>
  <dt>ExactMatch</dt><dd>
    <p>类型: <a href="../Concepts.htm#boolean">整数(布尔值)</a></p>
    <p>如果该参数为 true, <em>值</em> 必须完全匹配, 但不区分大小写.</p>
  </dd>
</dl>
</div>

<div class="methodShort" id="Add">
<h2>添加</h2>
<p>将列表项目添加到 ListBox, DropDownList 或 ComboBox, 或将标签添加到 Tab 控件中.</p>
<pre class="Syntax">GuiCtrl.<span class="func">添加</span>(Items)</pre>
<dl>
  <dt>Items</dt><dd>
    <p>类型: <a href="../Concepts.htm#objects">数组(数组)</a></p>
    <p>要插入到控件列表末尾的字符串数组(例如 <code>["Red","Green","Blue"]</code>). 要替换(覆盖) 列表, 请事先使用 <a href="#Delete">GuiCtrl.删除</a>.</p>
  </dd>
</dl>
<p>使用 <a href="#Choose">GuiCtrl.选择</a> 选择一个项目.</p>
<p><strong>相关:</strong> <a href="../commands/ListView.htm#Add">ListView.添加</a>, <a href="../commands/TreeView.htm#Add">TreeView.添加</a></p>
</div>

<div class="methodShort" id="Delete">
<h2>删除</h2>
<p>删除 ListBox, DropDownList, ComboBox 或 Tab 控件的指定项或所有项.</p>
<pre class="Syntax">GuiCtrl.<span class="func">删除</span>(<span class="optional">值</span>)</pre>
<dl>
  <dt>值</dt><dd>
    <p>类型: <a href="../Concepts.htm#numbers">整数</a></p>
    <p>参数为 1 表示第一个条目, 2 表示第二个, 等等. 如果省略, 则删除所有条目.</p>
  </dd>
</dl>
<p>对于 tab 控件, 您应该注意到, 一个标签的子控件会与其原始的标签编号相关联; 也就是说, 它们永远不会与其标签的实际显示名称相关联. 因此, 重命名或删除一个选项卡不会改变子控件所属的选项卡号. 例如, 如果有三个选项卡 <code>["Red","Green","Blue"]</code> 并且通过 <code>MyTab.删除(2)</code> 删除了第二个选项卡, 则原来与 Green 相关联的子控件现在将与 Blue 相关联. 由于这种行为, 一般只应删除最后的标签页. 以这种方式删除的标签页可以在以后再添加回来, 届时它们将重新获得原来的控件集.</p>
<p><strong>相关:</strong> <a href="../commands/ListView.htm#Delete">ListView.删除</a>, <a href="../commands/TreeView.htm#Delete">TreeView.删除</a></p>
</div>

<div class="methodShort" id="Value">
<h2>值</h2>
<p>检索或设置控件的内容.</p>
<pre class="Syntax">RetrievedValue := GuiCtrl.值</pre>
<pre class="Syntax">GuiCtrl.值 := NewValue</pre>
  <p>注意: 如果控件不包含值, <em>RetrievedValue</em> 将是空白, 并且赋值 <em>NewValue</em> 将引发错误. 无效的值会抛出异常.</p>
  <p>以下控件类型包含值:</p>

<h3>Picture</h3>
<p><em>RetrievedValue</em> 是创建 <a href="../commands/GuiControls.htm#Picture">Picture</a> 控件时指定的图片文件名. 即使指定了新的图片文件名, 这个名称也不会改变.</p>
<p><em>NewValue</em> 是要加载的新图片的文件名(或<a href="../misc/ImageHandles.htm">句柄</a>)(关于支持的文件类型, 请参阅 <a href="../commands/GuiControls.htm#Picture">Picture</a>). 可以在文件名前指定零个或多个下列选项: <code>*wN</code>(宽度 N), <code>*hN</code>(高度 N) 和 <code>*IconN</code>(DLL 或 EXE 文件中的图标组编号 N). 在下面的例子中, 将加载第二个图标组中的默认图标, 设置宽度为 100 以及通过 "保持高宽比" 自动设置高度: <code>MyPic.值 := "*icon2 *w100 *h-1 C:\My Application.exe"</code>. 指定 <code>*w0 *h0</code> 使用图像的实际宽度和高度. 如果同时省略 <code>*w</code> 和 <code>*h</code>, 则调整图像以适应控件当前的大小. 从多图标的 .ICO 文件中加载时, 指定宽度和高度也决定了加载哪个图标. 注意: 在最后的选项和文件名之间只使用一个空格或制表符; 任何其他空格和制表符都会被视为文件名的一部分.</p>

<h3>文本</h3>
<p><em>RetrievedValue</em> 是 <a href="../commands/GuiControls.htm#Text">文本</a> 控件的的文本/标题.</p>
<p><em>NewValue</em> 是控件的新文本. 由于控件不会自动展开, 所以如果需要扩大控件, 请使用 <code>GuiCtrl.<a href="#Move">移动</a>("w300")</code>.</p>

<h3>Edit</h3>
<p><em>RetrievedValue</em> 是 <a href="../commands/GuiControls.htm#Edit">Edit</a> 件的当前内容. 对于多行控件, 文本中的任何换行符将以普通换行符(`n) 表示, 而不是 <a href="../commands/ControlGetText.htm">获取控件文本</a> 和 <a href="../commands/ControlSetText.htm">设置控件文本</a> 等非 界面 函数所使用传统的 CR+LF(`r`n).</p>
<p><em>NewValue</em> 是新的内容. 对于多行控件, <em>NewValue</em> 中任何缺少前回车(`r) 的换行(`n) 都会被自动转换为 CR+LF(`r`n) 以使其正确显示. 然而, 这通常不是一个问题, 因为当使用 <a href="Gui.htm#Submit">MyGui.Submit</a> 或检索这个值时, 这个转换会自动反过来, 用 LF(`n) 替换 CR+LF.</p>
  <p>要检索或设置文本, 而不将 `n 转换为 `r`n, 请使用 <a href="#Text">GuiCtrl.文本</a>.</p>

<h3>热键</h3>
<p>如果 <a href="../commands/GuiControls.htm#Hotkey">热键</a> 控件中有热键, 则 <em>RetrievedValue</em> 为修饰符和键名; 否则为空. 例如: <code>^!C</code>, <code>^Home</code>, <code>+^NumpadHome</code>.</p>
<p><em>NewValue</em> 可以是一组修饰符和键名, 或空白以清空该控件. 例如: <code>^!c</code>, <code>^Numpad1</code>, <code>+Home</code>. 支持的修饰符仅包含 ^(<kbd>Control</kbd>), !(<kbd>Alt</kbd>), 和 +(<kbd>Shift</kbd>). 请参阅<a href="../KeyList.htm">按键列表</a>了解可用的按键名称.</p>

<h3>Checkbox / Radio</h3>
<p>如果选中了 <a href="../commands/GuiControls.htm#Checkbox">Checkbox</a> 或 <a href="../commands/GuiControls.htm#Radio">Radio</a> 控件, 则 <em>RetrievedValue</em> 为 1, 如果未选中, 则为 0, 如果有灰色复选标记, 则为 -1.</p>
<p><em>NewValue</em> 可以是 0 来取消选中按钮, 1 来选中它, 或者 -1 来给它一个灰色的复选标记. 对于 Radio 按钮,  如果有一个按钮被选中(打开) 并且它是一个多个单选按钮组的成员, 那么该组中的其他单选按钮将被自动取消选中.</p>
  <p>如果要获取或设置控件的文本/标题, 请使用 <a href="#Text">GuiCtrl.文本</a>.</p>

<h3>DateTime / MonthCal</h3>
<p><em>RetrievedValue</em> 是当前在 <a href="../commands/GuiControls.htm#DateTime">DateTime</a> 或 <a href="../commands/GuiControls.htm#MonthCal">MonthCal</a> 控件中选择的 <a href="../commands/FileSetTime.htm#YYYYMMDD">YYYYMMDDHH24MISS</a> 格式的日期-时间戳.</p>
<p><em>NewValue</em> 是 <a href="../commands/FileSetTime.htm#YYYYMMDD">YYYYMMDDHH24MISS</a> 格式的日期-时间戳. 指定 <code>内_时间</code> 来使用当前日期和时间(今天). 对于 DateTime 控件, <em>NewValue</em> 可以是一个空字符串, 以使该控件没有选择日期/时间(如果它在创建时含有<a href="../commands/GuiControls.htm#ChooseNone">这个能力</a>). 对于 MonthCal 控件, 如果控件是<a href="../commands/GuiControls.htm#MonthCalMulti">多选的</a>, 则可以指定一个日期范围.</p>

<h3>UpDown / Slider / Progress</h3>
<p><em>RetrievedValue</em>是 <a href="../commands/GuiControls.htm#UpDown">UpDown</a>, <a href="../commands/GuiControls.htm#Slider">Slider</a> 或 <a href="../commands/GuiControls.htm#Progress">Progress</a> 控件的当前位置.</p>
<p><em>NewValue</em> 是控件的新位置, 例如 <code>MySlider.值 := 10</code>. 要调整一个相对的数值, 请使用运算符 <code>+=</code>, <code>-=</code>, <code>++</code> 或 <code>--</code> 代替 <code>:=</code>. 如果新的位置超出了控件的范围, 控件一般会被设置为最近的有效值.</p>

<h3>Tab / DropDownList / ComboBox / ListBox</h3>
<p><em>RetrievedValue</em> 是当前选中的项目/标签在 <a href="../commands/GuiControls.htm#Tab">Tab</a>, <a href="../commands/GuiControls.htm#DropDownList">DropDownList</a>, <a href="../commands/GuiControls.htm#ComboBox">ComboBox</a> 或 <a href="../commands/GuiControls.htm#ListBox">ListBox</a> 控件中的位置. 如果没有选择, 则返回 0. 如果在 ComboBox 中输入了文本, 则使用第一个匹配文本的项目. 如果没有匹配的项目, 即使控件中有文本, 结果也是 0. 对于一个<a href="../commands/GuiControls.htm#ListBoxMulti">多选 ListBox</a>, 结果是一个数字数组(如果没有选择任何项目, 则为空).</p>
<p><em>NewValue</em> 是要选择的单个项目/标签的位置, 或者为零来清除当前的选择(即使对 Tab 控件也有效). 要选择多个项目, 请重复调用 <a href="#Choose">GuiCtrl.选择</a>.</p>
<p>要获取或设置选中项的文本而不是其位置, 请使用 <a href="#Text">GuiCtrl.文本</a>.</p>

<h3>ActiveX</h3>
<p><em>RetrievedValue</em> 是 <a href="../commands/GuiControls.htm#ActiveX">ActiveX</a> 控件的 ActiveX 对象. 例如, 如果控件是用文本 <em>Shell.Explorer</em> 创建的, 这是一个 <a href="https://msdn.microsoft.com/library/aa752043">WebBrowser</a> 对象. 每次都返回相同的<a href="../commands/ComObject.htm">包装器对象</a>.</p>
</div>

<div class="methodShort" id="Text">
<h2>文本</h2>
<p>检索或设置控件的文本/标题.</p>
<pre class="Syntax">RetrievedText := GuiCtrl.文本</pre>
<pre class="Syntax">GuiCtrl.文本 := NewText</pre>
<p>注意: 如果控件没有可见的标题文本和文本值, 则此属性对应于控件的隐藏标题文本(如 <a href="../commands/ControlGetText.htm">获取控件文本</a>/<a href="../commands/ControlSetText.htm">设置控件文本</a>).</p>
<p><strong>标题/显示文本</strong>: <em>文本</em> 属性可检索或设置以下控件类型的标题/显示文本: <a href="../commands/GuiControls.htm#Button">Button</a>, <a href="../commands/GuiControls.htm#Checkbox">Checkbox</a>, <a href="../commands/GuiControls.htm#Edit">Edit</a>, <a href="../commands/GuiControls.htm#GroupBox">GroupBox</a>, <a href="../commands/GuiControls.htm#Link">Link</a>, <a href="../commands/GuiControls.htm#Radio">Radio</a>, <a href="../commands/GuiControls.htm#Text">文本</a>. 由于控件不会自动展开, 请使用 <code>GuiCtrl.<a href="#Move">移动</a>("w300")</code> 或类似的方法.</p>

<p><strong><a href="../commands/GuiControls.htm#DateTime">DateTime</a></strong>: <em>文本</em> 属性检索了控件显示的格式化文本. 不支持为控件指定格式化的日期/时间字符串. 要更改显示的日期/时间, 请为 <a href="#Value">GuiCtrl.值</a> 指定一个 <a href="../commands/FileSetTime.htm#YYYYMMDD">YYYYMMDDHH24MISS</a> 格式的日期-时间戳.</p>

<p><strong><a href="../commands/GuiControls.htm#Edit">Edit</a></strong>: 与其他控件一样, 文本按原样检索或设置; 不用预先进行尾转换. 要检索或设置多行 Edit 控件的文本, 同时在 <code>`r`n</code> 和 <code>`n</code> 之间进行转换, 请使用 <a href="#Value">GuiCtrl.值</a>.</p>

<p><strong><a href="../commands/GuiControls.htm#StatusBar">StatusBar</a></strong>: <em>文本</em> 属性仅检索或设置第一部分的文本(使用 <a href="../commands/GuiControls.htm#SB_SetText">SB.SetText</a> 可获得更大的灵活性).</p>

<p><strong>List 项目文本</strong>: <em>文本</em> 属性为以下控件类型检索或设置当前选中的项目/标签: <a href="../commands/GuiControls.htm#Tab">Tab</a>, <a href="../commands/GuiControls.htm#DropDownList">DropDownList</a>, <a href="../commands/GuiControls.htm#ComboBox">ComboBox</a>, <a href="../commands/GuiControls.htm#ListBox">ListBox</a>.</p>
<p><em>NewText</em> 应该是要选择的项目/标签的全部文本(不区分大小写).</p>
<p>对于 ComboBox, 如果没有选中的项目, 则会检索控件编辑栏中的文本. 对于其他控件, <em>RetrievedText</em> 为空/空白. 同样, 如果 <em>NewText</em> 为空/空白, 则当前项/标签将被取消选择.</p>
<p>对于一个<a href="../commands/GuiControls.htm#ListBoxMulti">多选 ListBox</a>, <em>RetrievedText</em> 是一个数组. <em>NewText</em> 不能是一个数组, 但如果多个项目匹配, 它们都会被选择. 要用不同的文本选择多个项目, 请重复调用 <a href="#Choose">GuiCtrl.选择</a>.</p>
<p>要根据项目的位置编号而不是文本选择项目, 请使用 <a href="#Value">GuiCtrl.值</a>.</p>

</div>

<div class="methodShort" id="Redraw">
<h2>重绘</h2>
<p>重绘控件所占的 界面 窗口区域.</p>
<pre class="Syntax">GuiCtrl.<span class="func">重绘</span>()</pre>
<p>虽然当重复和快速调用时, 可能会导致不必要的闪烁效果, 但它解决了某些控件类型(如 <a href="../commands/GuiControls.htm#GroupBox">GroupBox</a>) 的显示重影的问题.</p>
</div>

<div class="methodShort" id="SetFont">
<h2>设置字体</h2>
<p>设置控件的字体字体, 大小, 样式和/或颜色.</p>
<p>注意: 省略这两个参数, 以将字体设置为 界面 的当前字体, 如 <a href="Gui.htm#SetFont">界面.设置字体</a> 所设置. 否则, 任何未指定的字体属性将从控件的先前字体中复制. 只有在 <em>Options</em> 中指定的情况下, 文本颜色才会改变.</p>
<pre class="Syntax">GuiCtrl.<span class="func">设置字体</span>(<span class="optional">Options, FontName</span>)</pre>
<p>关于这两个参数的详细说明, 请参阅 <a href="Gui.htm#SetFont">界面.设置字体</a>.</p>
</div>

<div class="methodShort" id="Enabled">
<h2>可用</h2>
<p>检索控件当前交互状态, 或启用或禁用(灰色) 控件.</p>
<pre class="Syntax">RetrievedState := GuiCtrl.可用</pre>
<pre class="Syntax">GuiCtrl.可用 := NewState</pre>
<p>对于 Tab 控件, 这也将启用或禁用该 Tab 的所有子控件. 然而, 任何通过 <code>GuiCtrl.可用 := false</code> 显式禁用的子控件将记住该设置, 因此即使在其 Tab 控件被重新启用后也会保持禁用状态.</p>
</div>

<div class="methodShort" id="Visible">
<h2>可见</h2>
<p>检索控件的当前可见状态, 或显示或隐藏它.</p>
<pre class="Syntax">RetrievedState := GuiCtrl.可见</pre>
<pre class="Syntax">GuiCtrl.可见 := NewState</pre>
<p>对于 Tab 控件, 这也将显示或隐藏该 Tab 的所有子控件. 如果您还想阻止一个控件的快捷键(下划线字母) 工作, 通过 <code>GuiCtrl.可用 := false</code> 禁用该控件.</p>
</div>

<div class="methodShort" id="Focused">
<h2>焦点</h2>
<p>检索控件当前焦点状态.</p>
<pre class="Syntax">RetrievedState := GuiCtrl.焦点</pre>
<p>注意: 要让设置生效, 窗口一般不能处于最小化或隐藏状态.</p>
</div>

<div class="methodShort" id="GetPos">
<h2>获取位置</h2>
<p>获取控件的位置和大小.</p>
<pre class="Syntax">GuiCtrl.<span class="func">获取位置</span>(<span class="optional">X, Y, Width, Height</span>)</pre>
<p>每个参数都应该是一个变量, 在其中存储各自的坐标. 位置是相对于 界面 窗口的客户端区域而言的, 客户端区域是不包括标题栏, 菜单栏和边框的区域.</p>
<p>与 <a href="../commands/ControlGetPos.htm">获取控件位置</a> 不同的是, 本方法对返回的坐标应用了 <a href="Gui.htm#DPIScale">DPI 缩放</a>(除非使用了 <code>-DPIScale</code> 选项).</p>
<p>示例:</p>
<pre>MyEdit.获取位置(x, y, w, h)
信息框 "The X coordinate is " x ". The Y coordinate is " y ". The width is " w ". The height is " h "."
</pre>
</div>
</body>
</html>